package com.ndp.fb.walle.business;

import java.util.List;

import com.alibaba.fastjson.JSONObject;
import com.ndp.fb.model.fbagent.param.serach.SearchParam;
import com.ndp.fb.model.fbagent.result.common.FBAdInterest;
import com.ndp.fb.model.fbagent.result.common.FBSearchCategoryResult;
import com.ndp.fb.model.fbagent.result.common.FBSearchResult;
import com.ndp.fb.rdb.model.AdGeolocation;
import com.ndp.fb.rdb.model.Dictionary;
import com.ndp.fb.rdb.model.InterestWord;
import com.ndp.fb.walle.model.bo.search.result.AdGeolocationBo;
import com.ndp.fb.walle.model.bo.search.result.MoreTargetingCategoryResultBo;
import com.ndp.fb.walle.model.vo.search.result.TargetingCategoryParentVo;

/**
 * Created by Administrator on 2014/10/24.
 */
public interface SearchService {
	List<Dictionary> getDict(String type);

	List<Dictionary> getDict(String type, String language);

	/**
	 * @param locale
	 *            local
	 * @param q
	 *            请求内容
	 * @param type
	 *            请求类型
	 * @return
	 */
	List<?> search(String accessToken, String locale, String q, String type);

	List<FBAdInterest> searchInterestList(String accessToken, String locale, String q, List<String> interestList);

	List<?> search(SearchParam searchParam);

	List<AdGeolocationBo> searchCountryAndCity(String accessToken, String locale, String q, String s);

	List<AdGeolocation> searchALLCountry();

	List<AdGeolocationBo> searchCountryListByCodes(String countries);

	List<FBSearchResult> searchByQ(String accessToken, String locale, String q, String type);

	MoreTargetingCategoryResultBo searchMoreTargetingCategory(String accessToken, String locale);

	List<FBAdInterest> searchInterestSuggestion(String accessToken, String locale, List<String> interestsList);

	List<TargetingCategoryParentVo> searchInterestsCategory(String accessToken, String locale);

	List<InterestWord> adInterestValid(String accessToken, List<InterestWord> interestWords);
	
	List<FBSearchCategoryResult> searchFbAdTargetingCategory(String accessToken, String locale,String className,String q);
	
	List<JSONObject> getTargetingBrowse(String lan);

}
